package com.css.zfzx.sjcj.modules.jobschedule.entity.po;

import lombok.ToString;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@ToString
@Entity
@Table(name = "pc_job_schedule_report")
public class JobScheduleReportPO {

    private String id;
    /**
     * 任务编号
     */
    private String taskCode;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 数量
     */
    private String quantity;
    /**
     * 百分比数值
     */
    private String percentage;
    /**
     * 区划编码
     */
    private String divisionCode;
    /**
     * 区划名称
     */
    private String divisionName;
    /**
     * 是否已经上报：0 -> 未上报； 1 -> 已上报
     */
    private String isHasReport;
    /**
     * 上报ID
     */
    private String reportId;
    private Date reportTime;
    private String reportUser;
    private String isValid;
    private Date createTime;
    private String createUser;
    private Date updateTime;
    private String updateUser;


    @Id
    @Column(name = "id", nullable = false, length = 32)
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "task_code", length = 255)
    public String getTaskCode() {
        return taskCode;
    }

    public void setTaskCode(String taskCode) {
        this.taskCode = taskCode;
    }

    @Basic
    @Column(name = "task_name", length = 255)
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "quantity", length = 255)
    public String getQuantity() {
        return quantity;
    }

    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }

    @Basic
    @Column(name = "percentage", length = 255)
    public String getPercentage() {
        return percentage;
    }

    public void setPercentage(String percentage) {
        this.percentage = percentage;
    }

    @Basic
    @Column(name = "division_code", length = 255)
    public String getDivisionCode() {
        return divisionCode;
    }

    public void setDivisionCode(String divisionCode) {
        this.divisionCode = divisionCode;
    }

    @Basic
    @Column(name = "division_name", length = 255)
    public String getDivisionName() {
        return divisionName;
    }

    public void setDivisionName(String divisionName) {
        this.divisionName = divisionName;
    }

    @Basic
    @Column(name = "is_has_report", length = 2)
    public String getIsHasReport() {
        return isHasReport;
    }

    public void setIsHasReport(String isHasReport) {
        this.isHasReport = isHasReport;
    }

    @Basic
    @Column(name = "report_id", length = 50)
    public String getReportId() {
        return reportId;
    }

    public void setReportId(String isReport) {
        this.reportId = isReport;
    }

    @Basic
    @Column(name = "report_time")
    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }

    @Basic
    @Column(name = "report_user", length = 255)
    public String getReportUser() {
        return reportUser;
    }

    public void setReportUser(String reportUser) {
        this.reportUser = reportUser;
    }

    @Basic
    @Column(name = "is_valid", length = 2)
    public String getIsValid() {
        return isValid;
    }

    public void setIsValid(String isValid) {
        this.isValid = isValid;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "create_user", length = 255)
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "update_user", length = 0)
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JobScheduleReportPO that = (JobScheduleReportPO) o;
        return Objects.equals(id, that.id) && Objects.equals(taskCode, that.taskCode) && Objects.equals(taskName, that.taskName) && Objects.equals(quantity, that.quantity) && Objects.equals(percentage, that.percentage) && Objects.equals(divisionCode, that.divisionCode) && Objects.equals(divisionName, that.divisionName)
                && Objects.equals(isHasReport, that.isHasReport) && Objects.equals(reportId, that.reportId) && Objects.equals(reportTime, that.reportTime) && Objects.equals(reportUser, that.reportUser) && Objects.equals(isValid, that.isValid) && Objects.equals(createTime, that.createTime) && Objects.equals(createUser, that.createUser) && Objects.equals(updateTime, that.updateTime) && Objects.equals(updateUser, that.updateUser);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, taskCode, taskName, quantity, percentage, divisionCode, divisionName, isHasReport, reportId, reportTime, reportUser, isValid, createTime, createUser, updateTime, updateUser);
    }
}
